let arr = [1,2,3,4];
console.log(...arr);

// 使用数组扩展运算，可以对数组元素进行拷贝
let arr2 = [...arr,5];
console.log("arr2 =",arr2); // 1,2,3,4,5

// 数组扩展运算符的限制和rest参数不一样，可以在中间使用
arr2 = [0,...arr,5];
console.log("arr2 =",arr2); // 0,1,2,3,4,5

let arr3 = ['a','b','c','d'];
arr3 = [...arr3,...arr2];
console.log("arr3 = ",arr3);

// 数组的扩展运算符非常有用
//  1.元素浅拷贝
//  2.一些要求传入rest参数的函数，可以直接扩展赋值
//  3.对于后面学习对象的扩展运算打基础

function sum(...args) {
    console.log("args = ",args);
    let result = 0;
    for (let v of args) {
        result += v;
    }
    return result;
}

console.log(sum(...arr2));



// 把arr2里面的元素，挨着追加到arr3的末尾 => ['a','b','c','d',0,1,2,3,4,5];
// for (let v of arr2) {
//     arr3.push(v);
// }
// arr3.push(...arr2);
